Git workflow lokaal
Een lokale repository bestaat uit 3 verschillende 'trees' die je met git kan beheren:
- de Working Directory, dat is de Windows, iOS, Linux map waarin je bestanden staan;
- de Index, de verzamelplaats (staging area) waarin bestanden worden geplaatst om neergelegd (commit) te worden;
- de geschiedenis (history) bevat de versiegeschiedenis van al je commits. De HEAD verwijst naar de laatste 'commit' die je hebt gemaakt;
Overzicht
- Maak een backup van je Programmeren map vooraleer je met Git op je computer begint te werken!!!!!!
- Start Powershell op
- Standaard achtergrondkleur is groen met rgb waarde 0, 128, 128. Ik zet de achtergrondkleur op zwart omdat de Git tekst op zwart beter leesbaar is. Linksboven klik je op het Powershell icoontje. Daarna op eigenschappen.
- Er wordt een dialoogvenster geopend waarin je de achtergrondkleur van de terminal kan wijzigen.
- Geavanceerd: Change the PowerShell Colors
- Git installeren
- Git installeren
- Je kan ook de GIT kleuren aanpassen als je dat wilt. Pas de kleuren in Git aan
- Bestandsmap initialiseren voor gebruik met GIT
- Ga naar de map Programmeren, de map waarin je de oefeningen en opdrachten maakt voor het vak Programmeren:
cd AP/Programmeren
- Bestandsmap Programmeren (gevolgd door groep naam, G1, G2, enz) initialiseren:
git init
- Nadag je git init hebt uitgevoerd, kan je in de Verkenner zien dat Git een verborgen submap in je working directory heeft toegevoegd. Verwijder deze map niet. Als je .git verwijdert, verwijder je meteen je hele Git geschiedenis. Om in PowerShell een verborgen map te tonen gebruik de -Force optie en om alleen mappen te zien, de -Dir optie.
- Ga naar de map Programmeren, de map waarin je de oefeningen en opdrachten maakt voor het vak Programmeren:
- Gebruikersinformatie
- Het eerste wat je wilt doen met een nieuwe Git installatie is je zelf voorstellen. Git slaat deze informatie op in je commits en op de diensten van derden, zoals GitHub en BitBucket om je te kunnen identificeren.
- De --global vlag registeert je opties in ~/.gitconfig, en is de standaard voor alle nieuwe repositories. Het weglaten geeft ke de mogelijkheid je opties op een per-repository basis te op te geven.
- Je gebruikernaam instellen voor elke repo op je computer:
git config --global user.name "Blaise Scheele"
- Verifieer of je gebruikersnaam correct is ingesteld:
git config --global user.name
- Om je gebruikersnaam in te stellen voor een specifieke repo, ga ja naar de map waar je repo staat en typ het volgende commando:
git config --local user.name "Billy Scheele"
- Verifieer of je gebruikersnaam correct is ingesteld:
git config --local user.name
- Je emailadres instellen voor elke repo op je computer:
git config --global user.email"blaise.scheele@inantwerpen.com"
- Verifieer of je email correct is ingesteld:
git config --global user.email
- Om je gebruikersnaam in te stellen voor een specifieke repo, ga ja naar de map waar je repo staat en typ het volgende commando:
git config --local user.email "blaise.scheele@inantwerpen.com"
- Verifieer of je emailadres correct is ingesteld:
git config --local user.email
- Bestanden verzamelen (staging)
git status
Je krijgt alleen de bestandsnamen te zien en niet de bestanden zelf.- git status -u Zoals je ziet is dat een hele lijst en die is zo lang voor elk project in de Programmeren map.
- .gitignore bestand maken om alleen .cs en csproj bestanden te verzamelen
Als je geen .gitignore bestand maakt om bepaalde bestanden en mappen uit te sluiten worden ook alle systeembestanden mee opgenomen in de repo. We zijn alleen geïnteresseerd in de .cs en de .csproj bestanden. Je kan dit op twee manieren doen:- Negatief door alle bestanden te negeren behalve de *.cs en de *.csproj bestanden:
- Met dit als resultaat:
- Door een lijst in te voeren met de bestanden en mappen die je niet wilt opnemen in de repo:
- En dat is het resultaat:
- Alle programma-bestanden op de verzamelplaats zetten (staging)
- git add --all
- git add -a
- De verzamelplaats inspecteren:
- git status De verzamelde bestanden en mappen worden in het groen weergegeven.
- Meer info op: Git bestanden verzamelen
- Commit: bestanden neerleggen
- git commit -m "Programmeren 30/9/2019 les 1 afgewerkt"
- Geschiedenis van commits bekijken:
git log - Meer info over Git bestanden neerleggen
- Maak een nieuwe map in Programmeren met de naam Les3.
- Open VS en creeer een nieuw project in deze map met de naam
TheorieUitproberen
. Plaats in Program.cs de volgende code:using System; namespace TheorieUitproberen { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); string voornaam = "Karel"; char singleQuote = '\''; Console.WriteLine(singleQuote + voornaam + singleQuote); Console.WriteLine("Ik ga naar de film \"Harry Potter\""); Console.WriteLine("Ik ga naar de film" + '"' + "Harry Potter" + '"'); // Console.WriteLine("Klein klein kleutertje"); Console.WriteLine("Wat doe je in mijn hof"); Console.WriteLine("Je plukt er alle bloempjes af"); Console.WriteLine("Je maakt het veel te grof"); Console.WriteLine("Klein klein kleutertje\n\tWat doe je in mijn hof\n\tJe plukt er alle bloempjes af\n\tJe maakt het veel te grof"); Console.WriteLine("10\t20\t30\n40\t50\t60"); voornaam = "Mo"; string familienaam = "El Farisi"; // interpolatie, pas sinds C# 6 Console.WriteLine($"Je voornaam is {voornaam} en je familienaam is {familienaam}."); Console.ReadKey(); } } }
Als je die code al hebt, wijzig dan 1 regel, bijvoorbeeld:
string voornaam = "Hannah";
- git status -u:
- git add --all
- git status:
- Open VS en creeer een nieuw project in deze map met de naam
- Maak een nieuwe map in Programmeren met de naam Les4.
- Open VS en creeer een nieuw project in deze map met de naam
Theorieles
. Plaats in Program.cs de volgende code:using System; namespace Theorieles { class Program { static void Main(string[] args) { Console.WriteLine("Casting, Conversion en Parsing"); int getal1 = 2; float getal2 = 1.00f; double getal3; getal3 = getal1; // widening impliciet uitgevoerd getal1 = (int) getal2; string naam = "Mo"; //getal1 = (int) naam; char eenKarakter = 'A'; getal1 = eenKarakter; //naam = eenKarakter; naam = "3M"; string rekeningnummer = "00345678234"; //int rekeningnummerGetal = (int)rekeningnummer; int rekeningnummerGetal = Convert.ToInt32(rekeningnummer); Console.WriteLine($"rekeningnummer van string naar int: {rekeningnummerGetal}"); //getal1 = Convert.ToInt32(naam); Console.WriteLine($"De naam Mo van string naar int: {getal1}"); bool isHetMogelijk = Int32.TryParse(naam, out getal1); Console.Write("Hoeveel weeg je? "); string answer = Console.ReadLine(); bool isHetEenGetal = Int32.TryParse(answer, out getal1); Console.WriteLine($"Heb je een getal ingetypt? {isHetEenGetal}"); Console.ReadKey(); } } }
Als je die code al hebt, wijzig dan 1 regel, bijvoorbeeld:
string naam = "Hannah";
- Onze working directory is nu gewijzigd maar het nieuwe project staat nog niet op de verzamelplaats.
- git status:
- Open VS en creeer een nieuw project in deze map met de naam
2020-02-07 10:05:21